# 构建脚本，用于解决内存不足和资源问题
Write-Host "开始优化构建过程..." -ForegroundColor Green

# 清理缓存
Write-Host "1. 清理构建缓存..." -ForegroundColor Cyan
if (Test-Path "./.nuxt") {
    Remove-Item -Recurse -Force "./.nuxt"
}
if (Test-Path "./.output") {
    Remove-Item -Recurse -Force "./.output"
}
yarn cache clean

# 设置环境变量
Write-Host "2. 设置内存限制..." -ForegroundColor Cyan
$env:NODE_OPTIONS = "--max-old-space-size=8192"
Write-Host "   NODE_OPTIONS: $env:NODE_OPTIONS" -ForegroundColor Gray

# 构建项目
Write-Host "3. 开始构建项目..." -ForegroundColor Cyan
yarn build

# 检查构建结果
if ($LASTEXITCODE -eq 0) {
    Write-Host "✅ 构建成功!" -ForegroundColor Green
    Write-Host "  你可以使用 'yarn preview' 来预览构建结果" -ForegroundColor Green
} else {
    Write-Host "❌ 构建失败! 错误代码: $LASTEXITCODE" -ForegroundColor Red
    
    # 如果构建失败，提供一些解决方案
    Write-Host "尝试以下解决方案:" -ForegroundColor Yellow
    Write-Host "1. 增加更多内存: 编辑此脚本并修改 --max-old-space-size=8192 为更大的值" -ForegroundColor Yellow
    Write-Host "2. 禁用预渲染: 修改 nuxt.config.ts 中的 prerender: { crawlLinks: false }" -ForegroundColor Yellow
    Write-Host "3. 检查代码中是否有内存泄漏或循环引用问题" -ForegroundColor Yellow
} 